package com.utils;

import java.io.IOException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.LinkedHashMap;

import org.json.JSONArray;
import org.json.JSONObject;

import com.zxy.cache.Com_Cache;
import com.zxy.common.Com_Fun;
import com.zxy.common.Com_Para;
import com.zxy.db_Self.Db_Common_Self;
import com.zxy.pay.WxPayConfig;

public class WX_access_token implements com.zxy.common.ParamName_InterFace
{
	public StringBuilder	strResult		= new StringBuilder();
	public String			user_main_id			= null;
	public String			session_id		= null;
	public String			param_name		= null;
	public String			param_value1	= null;
	public String			param_value2	= null;
	public String			param_value3	= null;
	public String			param_value4	= null;
	public String			param_value5	= null;
	public String			param_value6	= null;
	public String			param_value7	= null;
	public String			param_value8	= null;
	public String			param_value9	= null;
	public String			param_value10	= null;

	@Override
	public void init_start()
	{
		WxPayConfig wxpc = new WxPayConfig();
		wxpc.appid = Com_Para.APP_ID;
		wxpc.AppSecret = Com_Para.APP_PRIVATE_KEY;
		String strAccessToken = "https://api.weixin.qq.com/sns/jscode2session?appid="
				+ wxpc.appid + "&secret=" + wxpc.AppSecret + "&js_code="
				+ this.param_value1 + "&grant_type=authorization_code";
		// String strAccessToken =
		// "https://api.weixin.qq.com/sns/jscode2session?appid=" + wxpc.appid +
		// "&secret=" + wxpc.AppSecret + "&js_code=" + this.param_value1 +
		// "&grant_type=authorization_code";

		try
		{
			String strWxResult = wxpc.SendDataServerWx(strAccessToken);
			JSONObject jso = new JSONObject(new LinkedHashMap());
			JSONArray jsary = new JSONArray();
			JSONObject jsonR = new JSONObject(strWxResult);
			jsonR.put("init_time",Com_Fun.DateTimeStr("yyyy-MM-dd HH:mm:ss"));
			jsonR.put("active_time",Com_Fun.DateTimeStr("yyyy-MM-dd HH:mm:ss"));
			Com_Cache.Get_access_token();
			if(null != jsonR && jsonR.has("openid"))
			{
				Com_Cache.htWX_access_token.put(jsonR.getString("openid"),jsonR);
				jsary.put(jsonR);
				jso.put(param_name,jsary);
				if(!strWxResult.equals(""))
					strResult.append(jso.toString());
				else
					this.strResult.append(Com_Fun.get_ope_result(param_name,"0","微信access_token获取失败:"
							+ strAccessToken));
			}else
			{
				strResult.append(jso.toString());
			}
		}
		catch(Exception e)
		{
			Com_Fun.debug_in(e,this.toString());
			this.strResult.delete(0,this.strResult.length());
			this.strResult.append(Com_Fun.get_ope_result(param_name,"0","微信access_token获取失败:"
					+ e.getMessage()));
		}
	}

	public StringBuilder getStrResult()
	{
		return strResult;
	}

	public void setStrResult(StringBuilder strResult)
	{
		this.strResult = strResult;
	}

	public String getUser_main_id()
	{
		return user_main_id;
	}

	public void setUser_main_id(String user_main_id)
	{
		this.user_main_id = user_main_id;
	}

	public String getSession_id()
	{
		return session_id;
	}

	public void setSession_id(String session_id)
	{
		this.session_id = session_id;
	}

	public String getParam_name()
	{
		return param_name;
	}

	public void setParam_name(String param_name)
	{
		this.param_name = param_name;
	}

	public String getParam_value1()
	{
		return param_value1;
	}

	public void setParam_value1(String param_value1)
	{
		this.param_value1 = param_value1;
	}

	public String getParam_value2()
	{
		return param_value2;
	}

	public void setParam_value2(String param_value2)
	{
		this.param_value2 = param_value2;
	}

	public String getParam_value3()
	{
		return param_value3;
	}

	public void setParam_value3(String param_value3)
	{
		this.param_value3 = param_value3;
	}

	public String getParam_value4()
	{
		return param_value4;
	}

	public void setParam_value4(String param_value4)
	{
		this.param_value4 = param_value4;
	}

	public String getParam_value5()
	{
		return param_value5;
	}

	public void setParam_value5(String param_value5)
	{
		this.param_value5 = param_value5;
	}

	public String getParam_value6()
	{
		return param_value6;
	}

	public void setParam_value6(String param_value6)
	{
		this.param_value6 = param_value6;
	}

	public String getParam_value7()
	{
		return param_value7;
	}

	public void setParam_value7(String param_value7)
	{
		this.param_value7 = param_value7;
	}

	public String getParam_value8()
	{
		return param_value8;
	}

	public void setParam_value8(String param_value8)
	{
		this.param_value8 = param_value8;
	}

	public String getParam_value9()
	{
		return param_value9;
	}

	public void setParam_value9(String param_value9)
	{
		this.param_value9 = param_value9;
	}

	public String getParam_value10()
	{
		return param_value10;
	}

	public void setParam_value10(String param_value10)
	{
		this.param_value10 = param_value10;
	}
}
